# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/8 19:08 
@Author  : ZhangShenao 
@File    : simple_search_engine.py 
@Desc    : 搜索引擎的简单实现
"""
from search_engine_base import SearchEngineBase


class SimpleSearchEngine(SearchEngineBase):
    """简单的搜索引擎实现"""

    def __init__(self):
        """构造函数"""

        # 调用父类的构造函数
        super().__init__()

        # 初始化索引表 key=语料ID value=语料文本
        self.__index_table = {}

    def process_corpus(self, corpus_id: str, text: str):
        """处理语料"""

        # 将语料ID和文本存入语料表
        self.__index_table[corpus_id] = text

    def search(self, query: str) -> list[str]:
        """
        搜索功能实现
        :param query: 关键词
        :return: 关键词所在的语料ID列表
        """

        result = []
        # 遍历语料表,进行全量关键词检索
        for corpus_id, text in self.__index_table.items():
            if query in text:
                result.append(corpus_id)

        # 返回搜索结果
        return result
